package com.cucn.ingmall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cucn.common.utils.PageUtils;
import com.cucn.ingmall.product.entity.BrandEntity;
import com.cucn.ingmall.product.entity.SpuInfoDescEntity;
import com.cucn.ingmall.product.entity.SpuInfoEntity;
import com.cucn.ingmall.product.vo.SpuSaveVO;

import java.util.Map;

/**
 * spu信息
 *
 * @author kouchaojie
 * @email kou1688@foxmail.com
 * @date 2021-11-17 16:27:03
 */
public interface SpuInfoService extends IService<SpuInfoEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 新增商品
     *
     * @param spuSaveVO 新增商品的信息
     */
    void saveSpuInfo(SpuSaveVO spuSaveVO);

    /**
     * 保存Spu的基本信息
     *
     * @param spuInfoEntity spu基础信息对象
     */
    void saveBaseSpuInfo(SpuInfoEntity spuInfoEntity);

    /**
     * SPU条件检索
     *
     * @param params 请求参数
     * @return 查询出的分页数据
     */
    PageUtils queryPageByCondition(Map<String, Object> params);

    /**
     * 商品上架
     *
     * @param spuId spuId
     */
    void up(Long spuId);

    /**
     * 获取spu的品牌名
     *
     * @param spuId spuId
     * @return spu对应的品牌名
     */
    BrandEntity getSpuBrandInfo(Long spuId);

    /**
     * 根据skuId获取对应的spu信息
     *
     * @return
     */
    SpuInfoEntity getSpuInfoBySkuId(Long skuId);
}

